package com.dearbinge.data.dao.user;


import com.baomidou.mybatisplus.plugins.Page;
import com.dearbinge.data.pojo.user.UserBlacklistDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  黑名单dao
 *
 * @author wes
 * @date 2019/4/8
 */
public interface UserBlacklistMapper {

    /**
     * 删除
     * @param blackId ID
     * @return 影响行数
     */
    int delete(Integer blackId);

    /**
     * 插入
     * @param userBlacklistDO DO
     * @return 影响行数
     */
    int insert(UserBlacklistDO userBlacklistDO);

    /**
     * 根据id查询
     * @param blackId ID
     * @return DO
     */
    UserBlacklistDO getById(Integer blackId);

    /**
     * 根据我的id和拉黑的id查询
     * @param myId 我的id
     * @param blackUserId 拉黑的id
     * @return DO
     */
    UserBlacklistDO getUserBlacklist(@Param("myId") Integer myId,@Param("blackUserId")  Integer blackUserId);

    /**
     * 更新
     * @param userBlacklistDO DO
     * @return 影响行数
     */
    int update(UserBlacklistDO userBlacklistDO);

    /**
     * 查询黑名单
     * @param myId 我的用户id
     * @param page 分页
     * @return 黑名单列表
     */
    List<UserBlacklistDO> listByMyId (Integer myId, Page page);


    /**
     * 统计黑名单
     * @param myId 我的用户id
     * @return 总数
     */
    Integer countByMyId(Integer myId);
}